This invention was not developed in conjunction with any Federally-sponsored contract.
Not applicable.
The related applications, all filed on May 25, 2000, now Ser. Nos. 09/578,748; 09/578,749; 09/579,257 by Cristi Ullmann, et al.; Allen Wynn, et al; and Allen Wynn, et al., respectively, are incorporated herein by reference in their entirety, including drawings, and hereby are made a part of this application.
1. Field of the Invention
This invention relates to the arts of graphical user interface controls provided on computer displays, and to related displays such as personal digital assistants (xe2x80x9cPDAxe2x80x9d) and wireless communications devices.
2. Description of the Related Art
Graphical user displays on electronic devices such as computers, personal digital assistants, and wireless communications devices are common in the art. As these devices become more and more integral to activities in the daily lives of people such as web browsing, word processing, and even making telephone calls, the efficiency and ergonomics of these interfaces are extremely important. A user will quickly notice whether one user interface is easier and quicker to use than another based upon the number of operations required to perform a certain task. Further, the level of xe2x80x9cintuitivenessxe2x80x9d implemented in the user interface can greatly increase the usefulness and speed with which the user can operate the device.
Many graphical user interfaces follow the same conventions for navigation of and selection of controls on the user interface. Such common graphical user interfaces (xe2x80x9cGUIxe2x80x9d) include windows or frames-type displays in Microsoft""s Windows operating system, UNIX operating system, IBM""s OS/2 and AIX operating systems, Microsoft""s Windows CE operating system, Apple Computer""s operating system, and many xe2x80x9cproprietaryxe2x80x9d windows-like GUI""s on various devices such as PDA""s, cell phones, electronic organizers, etc.
FIG. 1 shows the basic organization of many prior art computer systems and computer-based devices. The system (10) typically includes a microprocessor or central processor unit (xe2x80x9cCPUxe2x80x9d) including computer memory, and may also include interfaces (I5) to hard disks and removable disk media (14), and possibly interfaces to computer or communications networks (11) such as a network interface card (xe2x80x9cNICxe2x80x9d) (17) or wireless communications interface. Commonly used NICs include EtherNet local area network (xe2x80x9cLANxe2x80x9d) cards, dial-up modem cards, and wireless communications circuits. Some of these circuits may be provided integral to the device (10), such as the case with web-enabled cell phones, or may be available as add-in circuits such as PCI cards or PCMCIA cards for personal computers.
Additional typical hardware provided in the system (10) includes a group of user input/output (xe2x80x9cI/Oxe2x80x9d) (16) devices (13), such as a display, keyboard, and/or pointing device, accompanied by common user I/O interface circuits to allow the CPU and system software to access and use the user I/O devices (13). Common display devices include VGA and LCD monitors for personal computers, and LCD panels for PDA and cell phones. Common pointing devices include xe2x80x9carrow keysxe2x80x9d, xe2x80x9ctabxe2x80x9d keys, mouse and scroll-mouse, joystick, track balls, glide point touch sensitive pads, and touch sensitive displays with stylus pens. Some devices, such as certain PDA""s, do not include an actual keyboard, but rather rely upon a touch-sensitive LCD display with virtual pointing device and stylus.
The software functionality of computer-based systems (10) can be divided into low-level device drivers and BIOS (18), an operating system (103), and applications programs. Low-level device drivers provide hardware-specific interface functions which allow the operating system and application programs to access the system hardware through common or generic application program interfaces (xe2x80x9cAPIxe2x80x9d). Some device drivers include necessary communications protocols and methods associated with a particular hardware device, such as a modem or wireless communications interface. Application programs can be further divided into portable applications, or applets (101), a portable application program interpreter (19), and non-portable, system-dependent applications (102). Such division of hardware and software functionality is well-understood in the art, and can be applied to large computer systems such as an IBM AS/400 equally as well to small computer systems such as PDA""s running Windows CE.
On the system display is typically shown a conventional frame or xe2x80x9cwindowxe2x80x9d of information related to a specific system function or program, such as a word processor, spreadsheet, to-do list, address book, e-mail client, or web browser. FIG. 2 shows a typical arrangement of a frame (20) including a title bar (21), tool bar (24), display area (25), and a pointer (201). The pointer (201) moves in response to the system pointing device and/or keyboard, such as typing on the arrow keys, movement of a mouse, track ball, or joystick. The title bar may include xe2x80x9cbuttonsxe2x80x9d for minimizing or restoring the frame (23), closing the program (22), as well as a display of the name of the function or program. The tool bar (24) typically includes a number of text and/or iconic options, such as xe2x80x9cfilexe2x80x9d and xe2x80x9ceditxe2x80x9d drop-down lists.
The display area may be further navigable using vertical scroll (27) and horizontal scroll (26) bars, which are especially useful for system displays of information which cannot be shown completely within one frame on the display. xe2x80x9cClickingxe2x80x9d on the right button (29) or left button (28), or xe2x80x9cdraggingxe2x80x9d the horizontal position indicator (201) causes the information in the display area (25) to be panned or scrolled left or right. Likewise, using the up button (29), down button (28), or vertical position indicator (200) can cause panning or scrolling in a vertical motion. These types of scroll bars are common on word processors, spreadsheets, graphical design packages,and web browsers.
In typical operation of these types of GUI displays, the user moves the pointer (201) to a button or text option, and selects that option by clicking on it and/or dragging it. In some cases, keyboard-only navigation or selection is possible by using special combinations of keys, such as ALT-F to select the xe2x80x9cfilexe2x80x9d drop-down menu. FIGS. 3a through 3c show a typical slider or scroll control (30), typical list control (34) with up/down choice buttons, and a virtualjoystick (38) which is described in the related application. The slider control (30) typically includes a slider control button (31), and two oppositional movement buttons (32 and 33). Similar vertical slider controls are also well known in the art. The typical list control (34) includes a display of the currently selected list item (35), up/down (next/previous, etc.) choice buttons (36, 37), and may include a drop-down list of possible choices. The virtual joystick (38) includes a stick portion (39) which can be moved by selecting it with the pointer and moving the pointer control device, such as a mouse, left, right, up or down.
The article xe2x80x9cMultistream input: An experimental study of document scrolling methodsxe2x80x9d in the IBM Systems Journal Vol. 38, No. 4, 1999, xe2x80x9cinvestigates alternative methods to improve user performance for browsing World Wide Web and other documents.xe2x80x9d This investigation involved a task requiring both scrolling and pointing, and compared the following input devices: (a) standard mouse, (b) wheel mouse, (c) joystick mouse (combination Standard Mouse with a joystick), and (d) trackpoint (such as found on an IBM ThinkPad computer) with supplemental Standard Mouse.
The results of the experimental study showed that a mouse with a finger wheel did not improve a user""s performance or subjective rating over a standard mouse. Indeed, the participants commented that it was tedious and tiring to repeatedly roll the wheel, although this mode was intuitive. The researchers believed that the lack of xe2x80x9cself-centeringxe2x80x9d placed the wheel mouse at a fundamental disadvantage to do effective rate control. The results also indicated that the Joystick Mouse and the Trackpoint with supplemental Standard Mouse performed better than the Standard Mouse alone, both in terms of performance and user perception. xe2x80x9cSelf-centeringxe2x80x9d is a very useful attribute of an input device when scrolling through documents, maps, etc. In addition, there are some instances where the user may wish to scroll in a direction other than directly up, down, left or right. For example, a user may want to scroll a map at an angle towards a destination city.
In the related patent applications, a virtual joystick, an infinite spinlist and a spinlist with preview and postview lists were disclosed. All of these new GUI controls enhance the efficiency and the intuitiveness of graphical user interfaces. However, a intuitive control for rate of change is needed beyond that currently found in the art. For example, when a user is panning around a large document in framed display, only a portion of the whole document may be displayed and viewed at a time. Repeated clicking on up/down and left/right icons, grabbing a sliding of slider buttons, and grabbing a tilting of virtual joysticks do not provide intuitive interaction as one may find in the xe2x80x9creal worldxe2x80x9d through similar viewing arrangements. An example of such a real world viewing arrangement is viewing part of a total scene through the viewfinder of a camera. When manually moved to find a particular subject in the scene, a human user will move the camera quickly until the general area of the subject is found, and will slow movement until the subject is properly centered in the view finder. To draw an analogous comparison to present day GUI controls and cameras, one can imagine a camera mounted to a motorized tripod, with the motor controls only having a single speed of up/down control and left/right control. To center a subject in the viewfinder of the camera, the user would repeatedly operate the up/down and left/right controls until the subject is centered, using a few long duration moves to find the general area of the subject, and many short xe2x80x9cburstsxe2x80x9d to fine position the subject. If the subject is initially far from the current view of the camera (or frame), this can take very long to pan the subject into the frame. To compensate for this, the constant panning speed may be increased, which makes it more difficult to achieve the fine positioning within the frame. In the real world, this kind of problem, such as for remotely controlled security cameras, is solved by using variable-rate panning controls, such as potentiometers, but the problem is prevalent in computer frame-based GUI environments.
Therefor, there is a need in the art for a virtual control method which allows for intuitive variable-rate control of common GUI control types. This new control method is preferably compatible with a wide range of existing GUI controls and the method of rate variation indication is easily recognizable in order to enhance the efficiency and intuitiveness of the new method.